using System.Diagnostics.CodeAnalysis;
using System.Linq.Expressions;
using ZeroBlog.Core.Domains.Blog;

namespace ZeroBlog.Core.DomainServices.Rumours;

public interface IRumourDomainService
{
    Task AddAsync(Rumour domain);
    Task DeleteAsync(IList<long> ids);
    Task UpdateAsync(Rumour domain);
    Task<Rumour> GetAsync([NotNull] Expression<Func<Rumour, bool>> predicate);
    Task<(IList<Rumour>, int)> Query(string? keyword, int pageNumber, int pageSize);
}